namespace OracleInternal.BinXml
{
	internal class DTDElementAttributeInfo : ObxmlStateObject
	{
		private string m_attributeValue;

		internal string ElementName;

		internal string AttributeName;

		internal bool AttributeStringExpanded;

		internal string AttributeString;

		internal string AttributeType;

		internal string AttributeMode;

		internal string AttributeValue
		{
			get
			{
				return m_attributeValue;
			}
			set
			{
				if (1 == (ObxmlDecodeContext.m_XMLTypeOptimizationLevel & 1))
				{
					m_attributeValue = value;
				}
				else if (value != null)
				{
					m_attributeValue = value.ReplaceXmlChars();
				}
				else
				{
					m_attributeValue = null;
				}
			}
		}

		internal DTDElementAttributeInfo()
		{
			ClearStateObject();
		}

		internal DTDElementAttributeInfo(string elementName, string attributeName, string type, string mode, string value)
		{
			AttributeStringExpanded = true;
			ElementName = elementName;
			AttributeName = attributeName;
			AttributeType = type;
			AttributeMode = mode;
			AttributeValue = value;
		}

		internal void SplitAttrString(string attributeType)
		{
		}

		internal override void ClearStateObject()
		{
			ElementName = null;
			AttributeName = null;
			AttributeStringExpanded = true;
			AttributeString = null;
			AttributeType = null;
			AttributeMode = null;
			AttributeValue = null;
		}
	}
}
